package com.d2rv.offscreen;

import com.d2rv.guide.GoalManager;
import com.d2rv.model.CityModelManager;
import com.d2rv.offscreen.OffScreenGuideManager;
import com.d2rv.user.UserManager;
import processing.core.PApplet;

/**
 * This class is the manager of the guide offscreens.
 *
 * @author Darrieutort A., Dupouy A., Rossignol L., Van Poucke A.
 */
public class SceneGuideManager {

    private OffScreenGuideManager offscreenguidemanager;

    /**
     * Default constructor.
     *
     * @param parent the current application
     * @param usermanager the manager of the user
     * @param citymodelmanager the manager of the city
     * @param goalmanager the manager of the goal
     */
    public SceneGuideManager(PApplet parent, UserManager usermanager, CityModelManager citymodelmanager, GoalManager goalmanager) {
        this.offscreenguidemanager = new OffScreenGuideManager(parent, usermanager, citymodelmanager, goalmanager);
    }

    /**
     * Calls the draw method the offscreen guide manager
     */
    public void draw() {
        this.offscreenguidemanager.draw();
    }

    /**
     * Calls the show method the offscreen guide manager
     *
     * @param parent the current application
     */
    public void show(PApplet parent) {
        this.offscreenguidemanager.show(parent);
    }

    /**
     * Returns the offscreen guide manager
     *
     * @return the offscreen guide manager
     */
    public OffScreenGuideManager offscreenguidemanager() {
        return this.offscreenguidemanager;
    }
}